Now will presented the syntax to be able to use the different services offered by MoB API, along with the list of all the services and what to except as a response from each one. Click on the service to show the details.
Note: It will be presented the description of the services and the way of use. The responses of the services will consist on a JSON object, every response will have a "code", if the same has a value of “200” it means the petition was successful, in case of “400” it´s because there was an error.
1.- Register user.
It allows to register the user on the system.
url: https://mob.ciens.ucv.ve/api/users , method: POST.
Example of the petition JSON object:
obj = {
'email': 'juan@gmail.com',
'username': 'Juan','
'password': 'miclave123'
}
Example of response:
obj = {
'code':200,
'msg':'The user has been registered succesfully'
}
2.- Log in.
It allows the registered user (and activated) to log in into the system and use it´s functionabilities.
url: https://mob.ciens.ucv.ve/api/login , method: POST.
Example of the petition JSON object:
obj = {
'username': 'Juan',
'password': 'miclave123'
}
Example of response:
obj = {
'code':200,
'msg':'Welcome Juan!',
'username': 'Juan',
'name': 'Juan',
'lastname': 'Perez',
'email': 'juan@gmail.com'
}
3.- Log out.
Allows an identified user to log out of the system.
url: https://mob.ciens.ucv.ve/api/logout , method: GET.
Example of response:
obj = {
'code':200,
'msg':'you have been logged out'
}
4.- Recover Password.
Allows the user to recover the password.
url: https://mob.ciens.ucv.ve/api/recover , method: POST.
Example of the petition JSON object:
obj = {
'email': 'juan@gmail.com'
}
Example of response:
obj = {
'code':200,
'msg':'Your data has been sent to your email.'
}
5.- Load Segmentation.
This is one of the most important services on the API, since it represents the base of the whole system, it allows to load all the data of the segmentation into the data base (also the data from the Web page in case is the first time).
url: https://mob.ciens.ucv.ve/api/recover , method: POST.
Example of the petition JSON object:
obj = {
'collection': 'col_name', (optional)
'category': 'cat_name', (optional)
'capture': 'http://www.url_imagen_representativa.jpg', (optional)
'title': 'page_title', (optional)
'url': 'http://www.mipagina.com',
'width': 800, (px | optional)
'height': 1600, (px |optional)
'gran': 5,
'blocks': BlocksObj,**
'browser': 'nombre_browser',
'seg_type': 'tipo_algoritmo'
}
Legend:
collection: The collection where the Web page belongs.
category: The category of the Web page.
capture:The url from the image that represents the Web page.
title:The page title.
url: The page url.
width: The page width, in pixels.
height: The page height,in pixels.
gran: The granularity of the segmentation.
blocks: The JSON object with the segmentation blocks (in the next code block it´s structure is described)
browser: The browser used.
seg_type: The name of the used algorithm.
** BlocksObj : {
meta : {
'cantblock': 12,
'areablock': 2000
}
block: [
{'id_block': 'id1', 'tag': 'etiqueta1', 'left': 10, 'top': 20, 'width': 200, 'height': 100, 'words': 50, 'elems': 4, 'gran': 5, 'dom': {DomElemsObj ***}},
....
]
}
Legend:
cantblock: The quantity of blocks presented on the segmentation.
areablock: The total area of all the blocks in the segmentation (summation), in pixels.
id_block: The block's id.
tag: The block's tag.
left: The left position of the block, in pixels.
top: The top position of the block, in pixels.
width: The width of the block, in pixels.
height: The height of the block, in pixels.
words: The quantity of words inside the block.
elems: The quantity of elements DOM inside the block.
gran: The block's granularity.
dom: A JSON object with the DOM elements that were inside the block (at the next code block will be descripbed it's structure).
*** DomElemObj: {
'meta': {
'atri1' : 'valor1',
'atri2' :'valor2',
...
},
'content': [
{ 'meta': {}, 'content': ... }
....
]
}
Legend:
meta: Is a JSON object with all the attributes of the DOM element.
content: Is a list with the same format that "DomElemObj" but applied to the son of each DOM element recursively.
Example of response:
obj = {
'code':200,
'msg':'upload completed successfully"
}
6.- Get segmentation preview.
It returns a HTML with a canvas with all the rectangles and tags for an specific segmentation. p_id represents the identification number of the segmentation, zoom is the level of zoom to be applied (4 is a good choice).
url: https://mob.ciens.ucv.ve/api/segpreview/p_id/zoom , method: GET.
7.- Get collection list.
It sends a list with the names of all the collections and their categories in the system.
url: https://mob.ciens.ucv.ve/api/getcollections , method: GET.
Example of response:
obj = {
'code':200,
"data": [
[1(id), "Col_name1", "Cat1, Cat2, Cat3"],
[2(id), "Col_name2", "Cat1, Cat2"]
...
]
}
8.- Get tag list.
It sends the list with all the names of all the tags in the system.
url: https://mob.ciens.ucv.ve/api/gettags , method: GET.
Example of response:
obj = {
'code':200,
"data": [
[1(id), "tag_name1", "desc_esp","desc_eng", "desc_fra" ],
[4(id), "tag_name2", "desc_esp","desc_eng", "desc_fra" ]
...
]
}
9.- Get list of global score.
It sends a list with all the best scores on each granularity for an specific Web page.
url: https://mob.ciens.ucv.ve/api/globalscore , method: POST.
Example of the petition JSON object:
obj = {
'url': 'http://www.asamplewebpage.com'
}
Example of response:
obj = {
'code':200,
'data': [
{'username': 'Juan' , 'score': 10 },
{'username': '----' , 'score': 0 }
...
]
}
Note: dependiendo de la posición del json dentro del arreglo, es su granularidad, en el ejemplo, Juan tuvo una puntuación de 10 en su segmentación con granularidad 0. Mientras que nadie ha segmentado la página en su granularidad 1.
10.- Obtener lista de puntajes individuales.
Permite obtener una lista con los puntajes en cada una de las granularidades de una página Web específica para un usuario determinado.
url: https://mob.ciens.ucv.ve/api/userscore , method: POST.
Example of the petition JSON object:
obj = {
'url': 'http://www.asamplewebpage.com',
'username': 'Juan'
}
Example of response:
obj = {
'code':200,
'data': [0,10,0,2,0,0,0,0,0,0,0]
}
Nota: depending on the position inside the array, is the score obtained in a specific granularity. In the example, Juan has a score of 10 in the segmentation with granularity of 1, and a score of 2 in the granularity if 3.
11.- Get the Web page in WARC format.
Returns the information of the Web page in WARC (Web ARChive) format. id indicates the id of the Web page.
url: https://mob.ciens.ucv.ve/api/pa:id.warc.gz , method: GET.
12.- Get the segmentation in JSON format.
Return a JSON with all the data from a specific segmentation. id indicates the id of the segmentation.
url: https://mob.ciens.ucv.ve/api/seg:id.js , method: GET.
13.- Get segmentation in MoB HTML format.
Given a determined segmentation, returns a HTML with the information that was capture moments before sending the segmentation, so, the original HTML of the Web page modified by the MoB tool after the manual segmentation. id indicates the id of the segmentation.
url: https://mob.ciens.ucv.ve/api/seg:id_mob.html , method: GET.
14.- Get the segmentation in V-PRIMA format.
Returns all the data of a specific segmentation in V-PRIMA format, the format consist on a XML where it specifies the existing blocks in the segmentation and all the links, images, and texts inside them. id indicates the id of the segmentation.
url: https://mob.ciens.ucv.ve/api/seg:id_vprima.xml , method: GET.
A continuación se presenta la sintaxis adecuada para solicitar los diferentes servicios de la API de MoB, junto con la lista de todos los posibles servicios y qué esperar de cada uno. Haga clic sobre algún servicio para observar los detalles.
Nota: Se presentará la descripción de los servicios y su forma de uso. Las respuestas del servicio consiste en un objeto JSON, todas las respuestas poseen un código, si el mismo posee un valor de “200” significa que la petición se realizó de forma exitosa, en caso de ser “400” es porque hubo un error.
1.- Registrar usuario.
Permite registrar a un usuario en el sistema.
url: https://mob.ciens.ucv.ve/api/users , método: POST.
Ejemplo de objeto JSON de la petición:
obj = {
'email': 'juan@gmail.com',
'username': 'Juan','
'password': 'miclave123'
}
Ejemplo de respuesta:
obj = {
'code':200,
'msg':'The user has been registered succesfully'
}
2.- Iniciar sesión.
Permite al usuario registrado (y activado) iniciar sesión en el sistema para hacer uso de sus funcionalidades.
url: https://mob.ciens.ucv.ve/api/login , método: POST.
Ejemplo de objeto JSON de la petición:
obj = {
'username': 'Juan',
'password': 'miclave123'
}
Ejemplo de respuesta:
obj = {
'code':200,
'msg':'Welcome Juan!',
'username': 'Juan',
'name': 'Juan',
'lastname': 'Perez',
'email': 'juan@gmail.com'
}
3.- Cerrar sesión.
Permite al usuario identificado dentro del sistema salir del mismo.
url: https://mob.ciens.ucv.ve/api/logout , método: GET.
Ejemplo de respuesta:
obj = {
'code':200,
'msg':'you have been logged out'
}
4.- Recuperar contraseña.
Permite al usuario recuperar su contraseña en caso de extravío.
url: https://mob.ciens.ucv.ve/api/recover , método: POST.
Ejemplo de objeto JSON de la petición:
obj = {
'email': 'juan@gmail.com'
}
Ejemplo de respuesta:
obj = {
'code':200,
'msg':'Your data has been sent to your email.'
}
5.- Cargar segmentación.
Este es uno de los servicios más importante del API pues representa la base de todo el sistema, permite cargar los resultados de una segmentación a la base de datos (y los datos de la página Web en caso de que sea la primera vez que se segmenta).
url: https://mob.ciens.ucv.ve/api/recover , método: POST.
Ejemplo de objeto JSON de la petición:
obj = {
'collection': 'col_name', (opcional)
'category': 'cat_name', (opcional)
'capture': 'http://www.url_imagen_representativa.jpg', (opcional)
'title': 'page_title', (opcional)
'url': 'http://www.mipagina.com',
'width': 800, (px | opcional)
'height': 1600, (px |opcional)
'gran': 5,
'blocks': BlocksObj,**
'browser': 'nombre_browser',
'seg_type': 'tipo_algoritmo'
}
Leyenda:
collection: la colección a la que pertenece la página.
category: la categoría de la página.
capture: la url de la imagen que representa la página.
title: el título de la página.
url: la url de la página.
width: el ancho de la página, en pixeles.
height: el alto de la página, en pixeles.
gran: la granularidad de la segmentación.
blocks: el objeto JSON con los bloques de la segmentación (en el siguiente bloque de código se describe su estructura.)
browser: el navegador usado.
seg_type: el nombre del algoritmo aplicado.
** BlocksObj : {
meta : {
'cantblock': 12,
'areablock': 2000
}
block: [
{'id_block': 'id1', 'tag': 'etiqueta1', 'left': 10, 'top': 20, 'width': 200, 'height': 100, 'words': 50, 'elems': 4, 'gran': 5, 'dom': {DomElemsObj ***}},
....
]
}
Leyenda:
cantblock: es la cantidad de bloques presentes en la segmentación.
areablock: es el área total de todos los bloques sumadas, en pixeles.
id_block: el id del bloque.
tag: la etiqueta del bloque.
left: la posición left del bloque, en pixeles.
top: la posición top del bloque, en pixeles.
width: el ancho del bloque, en pixeles.
height: altura del bloque, en pixeles.
words: cantidad de palabras dentro del bloque.
elems: cantidad de elementos DOM dentro del bloque.
gran: indica la granularidad del bloque.
dom: un objeto JSON que posee los elementos del dom dentro del bloque (en el siguiente bloque de código se describe su estructura.)
*** DomElemObj: {
'meta': {
'atri1' : 'valor1',
'atri2' :'valor2',
...
},
'content': [
{ 'meta': {}, 'content': ... }
....
]
}
Leyenda:
meta: es un JSON con todos los atributos del elemento DOM.
content: es una lista con el mismo formato de dato que DOMElemObj pero aplicado a los hijos del elemento DOM, recursivamente.
Ejemplo de respuesta:
obj = {
'code':200,
'msg':'upload completed successfully"
}
6.- Obtener vista previa de segmentación.
Devuelve un HTML con un canvas donde se dibujan las figuras y etiquetas de los bloques segmentados para una segmentación en específico. p_id indica el id de la segmentación, zoom el nivel de zoom que se desee del canvas (4 es buena opción).
url: https://mob.ciens.ucv.ve/api/segpreview/p_id/zoom , método: GET.
7.- Obtener lista de colecciones.
Permite obtener una lista con los nombres de las colecciones y categorías de éstas existentes en la base de datos del sistema.
url: https://mob.ciens.ucv.ve/api/getcollections , método: GET.
Ejemplo de respuesta:
obj = {
'code':200,
"data": [
[1(id), "Col_name1", "Cat1, Cat2, Cat3"],
[2(id), "Col_name2", "Cat1, Cat2"]
...
]
}
8.- Obtener lista de etiquetas.
Permite obtener una lista con los nombres de las etiquetas existentes en la base de datos del sistema.
url: https://mob.ciens.ucv.ve/api/gettags , método: GET.
Ejemplo de respuesta:
obj = {
'code':200,
"data": [
[1(id), "tag_name1", "desc_esp","desc_eng", "desc_fra" ],
[4(id), "tag_name2", "desc_esp","desc_eng", "desc_fra" ]
...
]
}
9.- Obtener lista de puntajes globales.
Permite obtener una lista con los mejores puntajes en cada una de las granularidades de una página Web específica.
url: https://mob.ciens.ucv.ve/api/globalscore , método: POST.
Ejemplo de objeto JSON de la petición:
obj = {
'url': 'http://www.asamplewebpage.com'
}
Ejemplo de respuesta:
obj = {
'code':200,
'data': [
{'username': 'Juan' , 'score': 10 },
{'username': '----' , 'score': 0 }
...
]
}
Nota: dependiendo de la posición del json dentro del arreglo, es su granularidad, en el ejemplo, Juan tuvo una puntuación de 10 en su segmentación con granularidad 0. Mientras que nadie ha segmentado la página en su granularidad 1.
10.- Obtener lista de puntajes individuales.
Permite obtener una lista con los puntajes en cada una de las granularidades de una página Web específica para un usuario determinado.
url: https://mob.ciens.ucv.ve/api/userscore , método: POST.
Ejemplo de objeto JSON de la petición:
obj = {
'url': 'http://www.asamplewebpage.com',
'username': 'Juan'
}
Ejemplo de respuesta:
obj = {
'code':200,
'data': [0,10,0,2,0,0,0,0,0,0,0]
}
Nota: dependiendo de la posición dentro del arreglo, es el puntaje obtenido en una granularidad específica, en el ejemplo, Juan tuvo una puntuación de 10 en su segmentación con granularidad 1, y un puntaje de 2 en la granularidad 3.
11.- Obtener página Web en formato WARC.
Devuelve la información de una página Web en formato WARC (Web ARChive). id indica el id de la página Web.
url: https://mob.ciens.ucv.ve/api/pa:id.warc.gz , método: GET.
12.- Obtener segmentación en formato JSON.
Retorna un JSON con todos los datos de una segmentación en específico. id indica el id de la segmentación.
url: https://mob.ciens.ucv.ve/api/seg:id.js , método: GET.
13.- Obtener segmentación en formato MoB HTML.
Dada una segmentación determinada, retorna un HTML con la información que se capturó momentos antes de enviar la segmentación, es decir, el HTML original de la página Web modificado por la herramienta MoB tras realizar la segmentación. id indica el id de la segmentación.
url: https://mob.ciens.ucv.ve/api/seg:id_mob.html , método: GET.
14.- Obtener segmentación en formato V-PRIMA.
Retorna todos los datos de una segmentación específica en formato V-PRIMA, el formato consta de un XML donde se especifican los bloques existentes en la segmentación y los links, imágenes y textos existentes dentro de éstos. id indica el id de la segmentación.
url: https://mob.ciens.ucv.ve/api/seg:id_vprima.xml , método: GET.
Voici la syntaxe appropriée pour demander les différents services de l'API MoB, ainsi que la liste de tous les services possibles et ce à quoi s'attendre de chacun. Cliquez sur un service pour observer les détails.
Note: La description des services et leur utilisation seront présentés. Les réponses du service consistent en un objet JSON, toutes les réponses ont un code, s'il a une valeur de “200” signifie que la pétition a été couronnée de succès, si “400” C'est parce qu'il y avait une erreur.
1.- Enregistrez l'utilisateur.
Cela permet d'enregistrer un utilisateur dans le système.
url: https://mob.ciens.ucv.ve/api/users , méthode: POST.
Exemple d'objet JSON de la requête:
obj = {
'email': 'juan@gmail.com',
'username': 'Juan','
'password': 'miclave123'
}
Exemple de réponse:
obj = {
'code':200,
'msg':'The user has been registered succesfully'
}
2.- Connectez-vous.
Il permet à l'utilisateur enregistré (et activé) de se connecter au système pour utiliser ses fonctionnalités.
url: https://mob.ciens.ucv.ve/api/login , méthode: POST.
Exemple d'objet JSON de la requête:
obj = {
'username': 'Juan',
'password': 'miclave123'
}
Exemple de réponse:
obj = {
'code':200,
'msg':'Welcome Juan!',
'username': 'Juan',
'name': 'Juan',
'lastname': 'Perez',
'email': 'juan@gmail.com'
}
3.- Fermer la session.
Permet à l'utilisateur identifié dans le système de le quitter.
url: https://mob.ciens.ucv.ve/api/logout , méthode: GET.
Exemple de réponse:
obj = {
'code':200,
'msg':'you have been logged out'
}
4.- Récupérer le mot de passe.
Il permet à l'utilisateur de récupérer son mot de passe en cas de perte.
url: https://mob.ciens.ucv.ve/api/recover , méthode: POST.
Exemple d'objet JSON de la requête:
obj = {
'email': 'juan@gmail.com'
}
Exemple de réponse:
obj = {
'code':200,
'msg':'Your data has been sent to your email.'
}
5.- Charger la segmentation.
C'est l'un des services les plus importants de l'API car il représente la base de tout le système, il permet de charger les résultats d'une segmentation dans la base de données (et les données de la page Web si c'est la première fois qu'elle est segmentée ).
url: https://mob.ciens.ucv.ve/api/recover , méthode: POST.
Exemple d'objet JSON de la requête:
obj = {
'collection': 'col_name', (facultatif)
'category': 'cat_name', (facultatif)
'capture': 'http://www.url_imagen_representativa.jpg', (facultatif)
'title': 'page_title', (facultatif)
'url': 'http://www.mipagina.com',
'width': 800, (px | facultatif)
'height': 1600, (px |facultatif)
'gran': 5,
'blocks': BlocksObj,**
'browser': 'nombre_browser',
'seg_type': 'tipo_algoritmo'
}
Légende:
collection: la collection à laquelle appartient la page.
category: la catégorie de la page.
capture: l'url de l'image que représente la page.
title: le titre de la page.
url: l'url de la page.
width: la largeur de la page, en pixels.
height: la largeur de la page, en pixels.
gran: la granularité de la segmentation.
blocks: l'objet JSON avec les blocs de la segmentation (dans le bloc de code suivant sa structure est décrite.)
browser: le navigateur utilisé.
seg_type: le nom de l'algorithme appliqué.
** BlocksObj : {
meta : {
'cantblock': 12,
'areablock': 2000
}
block: [
{'id_block': 'id1', 'tag': 'etiqueta1', 'left': 10, 'top': 20, 'width': 200, 'height': 100, 'words': 50, 'elems': 4, 'gran': 5, 'dom': {DomElemsObj ***}},
....
]
}
Légende:
cantblock: est le nombre de blocs présents dans la segmentation.
areablock: est la surface totale de tous les blocs ajoutés, en pixels.
id_block: l'identifiant du bloc.
tag: l'étiquette du bloc.
left: la position gauche du bloc, en pixels.
top: la position supérieure du bloc, en pixels.
width: la largeur du bloc, en pixels.
height: hauteur du bloc, en pixels.
words: nombre de mots dans le bloc.
elems: nombre d'éléments DOM dans le bloc.
gran: indique la granularité du bloc.
dom: un objet JSON qui a les éléments du soleil à l'intérieur du bloc (dans le bloc de code suivant sa structure est décrite).
*** DomElemObj: {
'meta': {
'atri1' : 'valor1',
'atri2' :'valor2',
...
},
'content': [
{ 'meta': {}, 'content': ... }
....
]
}
Légende:
meta: est un JSON avec tous les attributs de l'élément DOM.
content: est une liste avec le même format de données que DOMElemObj mais appliquée aux enfants de l'élément DOM, récursivement.
Exemple de réponse:
obj = {
'code':200,
'msg':'upload completed successfully"
}
6.- Obtenir un aperçu de la segmentation.
Renvoie un HTML avec un canevas où les figures et les étiquettes des blocs segmentés sont dessinées pour une segmentation spécifique. p_id indique l'identifiant de ciblage, zoom le niveau de zoom souhaité de la toile (4 est un bon choix).
url: https://mob.ciens.ucv.ve/api/segpreview/p_id/zoom , méthode: GET.
7.- Obtenir la liste des collections.
Il permet d'obtenir une liste avec les noms des collections et catégories de ceux existants dans la base de données du système.
url: https://mob.ciens.ucv.ve/api/getcollections , méthode: GET.
Exemple de réponse:
obj = {
'code':200,
"data": [
[1(id), "Col_name1", "Cat1, Cat2, Cat3"],
[2(id), "Col_name2", "Cat1, Cat2"]
...
]
}
8.- Obtenir la liste des étiquettes.
Il vous permet d'obtenir une liste avec les noms des étiquettes existantes dans la base de données du système.
url: https://mob.ciens.ucv.ve/api/gettags , méthode: GET.
Exemple de réponse:
obj = {
'code':200,
"data": [
[1(id), "tag_name1", "desc_esp","desc_eng", "desc_fra" ],
[4(id), "tag_name2", "desc_esp","desc_eng", "desc_fra" ]
...
]
}
9.- Obtenez une liste des scores globaux.
Il vous permet d'obtenir une liste avec les meilleurs scores dans chacune des granularités d'une page Web spécifique.
url: https://mob.ciens.ucv.ve/api/globalscore , méthode: POST.
Exemple d'objet JSON de la requête:
obj = {
'url': 'http://www.asamplewebpage.com'
}
Exemple de réponse:
obj = {
'code':200,
'data': [
{'username': 'Juan' , 'score': 10 },
{'username': '----' , 'score': 0 }
...
]
}
Note: en fonction de la position du json dans le tableau, c'est sa granularité, dans l'exemple, Juan a eu un score de 10 dans sa segmentation avec granularité 0. Alors que personne n'a segmenté la page dans sa granularité 1.
10.- Obtenir la liste des scores individuels.
Il permet d'obtenir une liste avec les scores dans chacune des granularités d'une page Web spécifique pour un utilisateur spécifique.
url: https://mob.ciens.ucv.ve/api/userscore , méthode: POST.
Exemple d'objet JSON de la requête:
obj = {
'url': 'http://www.asamplewebpage.com',
'username': 'Juan'
}
Exemple de réponse:
obj = {
'code':200,
'data': [0,10,0,2,0,0,0,0,0,0,0]
}
Note: en fonction de la position dans le tableau, c'est le score obtenu dans une granularité spécifique, dans l'exemple, Juan avait un score de 10 dans sa segmentation avec granularité 1, et un score de 2 dans la granularité 3.
11.- Obtenir une page Web au format WARC.
Renvoie les informations d'une page Web au format WARC (Web ARChive). id indique l'identifiant de la page Web.
url: https://mob.ciens.ucv.ve/api/pa:id.warc.gz , méthode: GET.
12.- Obtenir la segmentation au format JSON.
Renvoie un JSON avec toutes les données d'une segmentation spécifique. id indique l'identifiant de la segmentation.
url: https://mob.ciens.ucv.ve/api/seg:id.js , méthode: GET.
13.- Obtenir la segmentation au format HTML MoB.
Compte tenu d'une certaine segmentation, renvoie un code HTML avec les informations qui ont été capturées quelques instants avant d'envoyer la segmentation, c'est-à-dire le code HTML d'origine de la page Web modifié par l'outil MoB après avoir effectué la segmentation. id indique l'identifiant de la segmentation.
url: https://mob.ciens.ucv.ve/api/seg:id_mob.html , méthode: GET.
14.- Obtenir la segmentation au format V-PRIMA.
Renvoie toutes les données d'une segmentation spécifique au format V-PRIMA, le format consiste en un XML spécifiant les blocs existants dans la segmentation et les liens, images et textes existants à l'intérieur de ceux-ci. id indique l'identifiant de la segmentation.
url: https://mob.ciens.ucv.ve/api/seg:id_vprima.xml , méthode: GET.